|
Objective VHDL integrates two classification mechanisms - the type classes and the entity classes. In this chapter we will introduce the concept of type classes. A class type is the primary data abstraction in Objective VHDL and consists of class attributes and a collection of methods. Class attributes are used to store the data of an object, methods represent the functionality of an object. As already known from the OO programming languages in the software world,
the type based classification aims to transfer data oriented decomposition
to hardware design. The philosophy of this approach is: |
A class type can be used to declare a VHDL variable, signal, constant, or class attribute. The different kinds of declaration will be called the instantiation mode of a type class. Because it is a significant difference to other object-oriented languages, it is important to note in advance that the method set of a type object may differ depending on the instantiation mode (cf. next chapter). Further, class types are passive. To run the services the class type provides, it needs the computational thread of the calling environment. Hence, a class type is not suited to encapsulate concurrent behavior. |